package demo;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;

/**
 * @Auther: hjy(lc))
 * @Date: 2022/7/18-07-18-19:26
 * @Description：demo
 * java.swing.Timer 可以使用它在达到给定的时间间隔时发出通告
 * 回调：指出某个特定事件发生时应该采取的动作。e.g.在按下鼠标或选择某个菜单项时应该采取的行动
 */
public class TimerTest {
    public static void main(String[] args) {

        ActionListener listener = new TimerPrinter();
        //创建一个Timer对象 并实现了ActionListener对象
        //每隔delay毫秒通告listener一次
        Timer timer = new Timer(10000,listener);    //设置了10秒的时间间隔，即到达时间间隔时需要做的操作listener（）监听器对象
        timer.start();              //启动计时器

        //显示一个包含一条消息和OK按钮的对话框，其位于parent组件的中央（parentComponent为null），
        JOptionPane.showMessageDialog(null,"Quit program?");
        System.exit(0);
    }
}
class TimerPrinter implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("At the tone, the time is " + new Date());
        //getDefaultToolkit() 获得默认的工具箱。工具箱包含有关GUI环境的信息
        Toolkit.getDefaultToolkit().beep();          //beep() 发出一声铃响
    }
}
